【Qt】之【PyQt】实现点击按钮页面来回跳转

您所在的位置:网站首页 qt 点击按钮跳转另一个页面 【Qt】之【PyQt】实现点击按钮页面来回跳转

【Qt】之【PyQt】实现点击按钮页面来回跳转

2024-07-04 16:53| 来源: 网络整理| 查看: 265

1.主页面初步显示(只有一个按钮): ui_test.py

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class TestUI(QWidget): # 相当于构造函数 def __init__(self): super().__init__() self.loginBtn = QPushButton("请登录", self) # 按钮 self.setWindowTitle("测试界面") self.setFixedSize(700, 500) self.setWindowIcon(QIcon("img/rubs.png")) # ------没显示图标 # 调用ui设置函数 self.init_ui() # 初始化窗口 def init_ui(self): pass # 1.创建应用 app = QApplication(sys.argv) # 2.创建窗口 testView = TestUI() # 3.窗口显示 show testView.show() # 4.程序运行 sys.exit(app.exec())

在这里插入图片描述 2.登录界面初步显示: ui2_test.py

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class Test2UI(QWidget): # 相当于构造函数 def __init__(self): super().__init__() self.loginBtn = QPushButton("返回", self) # 按钮 self.setWindowTitle("跳转界面") self.setFixedSize(700, 500) self.setWindowIcon(QIcon("img/rubs.png")) # ------没显示图标 # 调用ui设置函数 self.init_ui() # 初始化窗口 def init_ui(self): pass # 1.创建应用 app = QApplication(sys.argv) # 2.创建窗口 test2View = Test2UI() # 3.窗口显示 show test2View.show() # 4.程序运行 sys.exit(app.exec())

在这里插入图片描述 3、主页面写按钮的槽函数和连接 初始化连接函数中连接按钮和槽函数 按钮.clicked.connect(槽函数)

# 初始化连接 调用该函数 def init_connection(self): # 点击按钮执行槽函数 self.loginBtn.clicked.connect(self.toLogin)

4、编写主页面槽函数toLogin,引入登陆类 from 库名(另一个文件名) import 类名

# 引入登陆类 from ui2_test import Test2UI # from 库名(另一个文件名) import 类名 # 登录函数 def toLogin(self): # 判断按钮内容是登陆的话 # 创建登陆界面 self.loginWin=LoginWin() # 隐藏当前界面 self.hide() # 弹出登陆界面 self.loginWin.show()

主界面调用连接函数

self.init_connection()

测试(主界面->登陆界面)_: 在这里插入图片描述 在这里插入图片描述 接下来编写从登陆界面返回到主界面代码 登陆界面登录验证成功后回到主界面 登录界面创建连接函数和按钮槽函数

# 初始化连接 调用该函数 def init_connection(self): # 登录跳转函数,返回主界面 self.loginBtn.clicked.connect(self.doLogin) def doLogin(self): pass

登陆界面定义自定义信号发送给主界面

# 自定义返回信号 信号传参 back_signal=pyqtSignal(str) def doLogin(self): # pass #触发发送自定义返回信号给主界面,传递参数 self.back_signal.emit("小月")

主界面的登陆窗口对象要connect触发发送信号

self.loginWin.back_signal.connect(self.successlogin)

主界面登陆成功槽函数

# 登陆成功槽函数 def successlogin(self, name): # 登陆界面隐藏, self.test2.hide() # 显示主界面, self.show() # 用户名显示到主界面, # 主界面登录按钮显示为退出)

在这里插入图片描述

完整代码: 主界面:

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * from ui2_test import Test2UI # from .ui2_test import Test2UI class TestUI(QWidget): # 相当于构造函数 def __init__(self): super().__init__() self.test2 = Test2UI() self.loginBtn = QPushButton("请登录", self) # 按钮 self.loginBtn.move(50, 50) self.setWindowTitle("测试界面") self.setFixedSize(700, 500) self.setWindowIcon(QIcon("img/rubs.png")) # ------没显示图标 # 调用ui设置函数 self.init_ui() self.init_connection() def init_ui(self): pass # 初始化数据 def init_data(self): pass # 初始化连接 调用该函数 def init_connection(self): # 点击按钮执行槽函数 self.loginBtn.clicked.connect(self.toLogin) self.test2.back_signal.connect(self.successlogin) def toLogin(self): # 判断按钮内容是登陆的话 # 创建登陆界面 # 隐藏当前界面 self.hide() # 弹出登陆界面 self.test2.show() # 登陆成功槽函数 def successlogin(self, name): # 登陆界面隐藏, self.test2.hide() # 显示主界面, self.show() # 用户名显示到主界面, # 主界面登录按钮显示为退出) if __name__ == '__main__': # 1.创建应用 app = QApplication(sys.argv) # 2.创建窗口 testView = TestUI() # 3.窗口显示 show testView.show() # 4.程序运行 sys.exit(app.exec())

目标界面:

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class Test2UI(QWidget): # 自定义返回信号 信号传参 back_signal=pyqtSignal(str) # 相当于构造函数 def __init__(self): super().__init__() self.setWindowTitle("登录界面") self.setFixedSize(700, 500) self.setWindowIcon(QIcon("img/rubs.png")) # ------没显示图标 # 调用ui设置函数 self.init_ui() self.init_connection() def init_ui(self): self.loginBtn = QPushButton("返回", self) # 按钮 self.loginBtn.move(50, 50) # 初始化数据 def init_data(self): pass # 初始化连接 调用该函数 def init_connection(self): # 登录跳转函数,返回主界面 self.loginBtn.clicked.connect(self.doLogin) def doLogin(self): # pass # 触发发送自定义返回信号给主界面 self.back_signal.emit("小月")


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3